package com.zelix;

import java.io.*;
import java.util.*;

public final class ou extends mu
    implements ey, kr
{

    Vector w;
    int x;
    int y;
    private static String z[];

    public ou(lt lt1, zs zs, zs zs1, pt apt[])
    {
        int i;
        int j;
        j = kt.i;
        super(lt1, zs, zs1, apt);
        x = -1;
        y = -1;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
label0:
        {
            if(apt[i] instanceof rt)
            {
                x = i;
                if(j == 0)
                    break label0;
            }
            if(apt[i] instanceof ut)
                y = i;
        }
        apt[i].a(this);
        i++;
_L2:
        if(i >= apt.length)
        {
            w = is.b(super.u);
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    ou(kt kt1, jb jb, qy qy1, qy qy2, PrintWriter printwriter, ty ty)
        throws IOException, dc, tb
    {
        int i;
        int j;
        j = kt.i;
        super(kt1, jb, qy1, printwriter);
        x = -1;
        y = -1;
        w = is.a(super.u, true);
        super.o = new pt[super.n];
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        super.o[i] = pt.a(this, jb, qy1, qy2, printwriter, null, ty);
        if(super.o[i] instanceof rt)
        {
            x = i;
            if(j == 0)
                continue;
        }
        if(super.o[i] instanceof ut)
            y = i;
        i++;
_L2:
        if(i >= super.o.length)
        {
label0:
            {
                if(w == null || is.b(super.u, true) == null)
                {
                    printwriter.println(i() + z[8] + z[7]);
                    b(false);
                    if(j == 0)
                        break label0;
                }
                b(true);
            }
            if(U())
                kt1.a(this);
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    void a(Vector vector)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).a(vector);
    }

    public void a(PrintWriter printwriter, int i)
        throws tb
    {
        if(x != -1)
        {
            rt rt1 = (rt)super.o[x];
            rt1.s.a(printwriter, i);
            rt1.a(printwriter, i);
        }
    }

    public boolean c(int i)
    {
        if(x != -1)
            return ((rt)super.o[x]).b(i);
        else
            return false;
    }

    public String g()
        throws tb
    {
        String s;
        StringWriter stringwriter;
        PrintWriter printwriter;
        int i;
        int k;
        int l;
        l = kt.i;
        s = z[4];
        stringwriter = new StringWriter();
        printwriter = new PrintWriter(stringwriter);
        printwriter.println("");
        String s1 = fb() + gb() + "{";
        printwriter.println(z[3] + s1);
        i = Y();
        int j = bb();
        k = j;
        if(l == 0) goto _L2; else goto _L1
_L1:
        printwriter.println(z[5] + s + k + ";");
        k++;
_L2:
        if(k >= i)
        {
            printwriter.println("");
            a(printwriter, 2);
            printwriter.println(z[6]);
            return stringwriter.toString();
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    public void a(um um, wg wg, lm lm, Vector vector)
        throws tb, sb, ub
    {
        if(x != -1)
            ((rt)super.o[x]).a(um, wg, lm, vector);
    }

    public void b(um um, wg wg, lm lm, Vector vector)
        throws tb, sb
    {
        if(x != -1)
            ((rt)super.o[x]).b(um, wg, lm, vector);
    }

    public ArrayList W()
    {
        ArrayList arraylist;
        Vector vector;
        int i;
        int j;
        j = kt.i;
        arraylist = new ArrayList();
        String s = q();
        vector = is.b(s);
        String s1 = is.d(s);
        vector.add(s1);
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        String s2 = (String)vector.get(i);
        String s3 = lt.d(s2);
        if(s3 != null)
        {
            mt mt1 = fh.a(s3);
            if(mt1 != null)
                arraylist.add(mt1);
        }
        i++;
_L2:
        if(i >= vector.size())
            return arraylist;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public du X()
    {
        if(x != -1)
            return ((rt)super.o[x]).s();
        else
            return null;
    }

    public int c()
    {
        if(x != -1)
            return ((rt)super.o[x]).d();
        else
            return 0;
    }

    public String r()
    {
        return d(false);
    }

    int Y()
    {
        if(x != -1)
            return ((rt)super.o[x]).p;
        else
            return 0;
    }

    int Z()
    {
        if(x != -1)
            return ((rt)super.o[x]).v();
        else
            return 0;
    }

    int ab()
    {
        if(x != -1)
            return ((rt)super.o[x]).w();
        else
            return 0;
    }

    int bb()
    {
        int i;
        int j;
        int k;
        k = kt.i;
        i = super.k.y() ? 0 : 1;
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        if(((String)w.elementAt(j)).equals("D"))
        {
            i += 2;
            if(k == 0)
                continue;
        }
        if(((String)w.elementAt(j)).equals("J"))
        {
            i += 2;
            if(k == 0)
                continue;
        }
        i++;
        j++;
_L2:
        if(j >= w.size())
            return i;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public int cb()
    {
        int i = 0;
        if(!D())
            i++;
        String s = is.d(super.u);
        if(!s.equals("V"))
            i--;
        return i;
    }

    public String db()
    {
        StringBuffer stringbuffer;
        int i;
        int j;
        j = kt.i;
        stringbuffer = new StringBuffer();
        stringbuffer.append("(");
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        stringbuffer.append((String)w.elementAt(i));
        i++;
_L2:
        if(i >= w.size())
        {
            stringbuffer.append(")");
            return stringbuffer.toString();
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    qy a(Map map, ko ko, sy sy, sy sy1, sy sy2, um um, HashMap hashmap, 
            HashMap hashmap1, HashMap hashmap2, HashMap hashmap3, yg yg, Map map1, fy fy1, qy qy1, 
            fy fy2, fy fy3, fy fy4, HashSet hashset, qy qy2, boolean flag)
        throws sb
    {
        if(x != -1)
        {
            Vector vector = new Vector();
            qy qy3 = ((rt)super.o[x]).a(map, ko, sy, sy1, sy2, um, hashmap, hashmap1, hashmap2, hashmap3, yg, map1, fy1, qy1, fy2, fy3, fy4, hashset, vector, flag);
            Vector vector1;
            if(vector.size() > 0)
                vector1 = qy2.a(this, vector);
            return qy3;
        } else
        {
            return null;
        }
    }

    int eb()
    {
        if(x != -1)
            return ((rt)super.o[x]).A();
        else
            return -1;
    }

    public final String fb()
    {
        return d(true);
    }

    public final String d(boolean flag)
    {
        String s;
        StringBuffer stringbuffer;
        int i;
        int j;
        int k;
        k = kt.i;
        s = z[17];
        stringbuffer = new StringBuffer();
        i = super.k.y() ? 0 : 1;
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        if(flag)
        {
            stringbuffer.append(is.e((String)w.elementAt(j)));
            stringbuffer.append(" ");
            stringbuffer.append(s + i + (j >= w.size() - 1 ? "" : z[2]));
            i += c((String)w.elementAt(j));
            if(k == 0)
                continue;
        }
        stringbuffer.append(is.e((String)w.elementAt(j)));
        stringbuffer.append(j >= w.size() - 1 ? "" : z[2]);
        j++;
_L2:
        if(j >= w.size())
        {
            String s1;
label0:
            {
                if(super.s.equals(z[19]))
                {
                    s1 = super.k.q() + o() + "(" + stringbuffer + z[16];
                    if(k == 0)
                        break label0;
                }
                if(super.s.equals(z[18]))
                {
                    s1 = super.k.q();
                    if(k == 0)
                        break label0;
                }
                s1 = super.k.q() + is.e(super.u) + " " + super.s + "(" + stringbuffer + z[16];
            }
            return s1;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    fy a(ArrayList arraylist, sy sy, um um, wg wg)
        throws ub, tb, sb
    {
        if(x != -1)
            return ((rt)super.o[x]).a(arraylist, sy, um, wg);
        else
            return null;
    }

    public String gb()
    {
        String s;
        ut ut1;
        String s1;
        int j;
        j = kt.i;
        s = "";
        ut1 = null;
        if(y != -1)
            ut1 = (ut)super.o[y];
        s1 = z[1];
        if(ut1 == null || ut1.o <= 0) goto _L2; else goto _L1
_L1:
        int i;
        s = s1;
        i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        s = s + ut1.p[i].a();
        s = s + (i >= ut1.o - 1 ? " " : z[2]);
        i++;
_L4:
        if(i < ut1.o) goto _L3; else goto _L2
_L2:
        return s;
    }

    public Vector hb()
    {
        Vector vector;
        ut ut1;
        int j;
        j = kt.i;
        vector = new Vector();
        ut1 = null;
        if(y != -1)
            ut1 = (ut)super.o[y];
        if(ut1 == null) goto _L2; else goto _L1
_L1:
        int i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        vector.addElement(ut1.p[i].b());
        i++;
_L4:
        if(i < ut1.o) goto _L3; else goto _L2
_L2:
        return vector;
    }

    void a(Hashtable hashtable, hr hr)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).a(hashtable, hr, T());
    }

    void a(fy fy1, fy fy2, dn dn, dn dn1, wu wu, wu wu1, Vector vector, 
            String s, lm lm, qy qy1, it it)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).a(fy1, fy2, dn, dn1, wu, wu1, vector, s, lm, qy1, it);
    }

    public void a(HashSet hashset, HashSet hashset1, HashSet hashset2, HashSet hashset3)
    {
        int i;
        i = kt.i;
        if(x != -1)
            ((rt)super.o[x]).a(hashset, hashset1, hashset2, hashset3);
        if(y == -1) goto _L2; else goto _L1
_L1:
        Enumeration enumeration;
        ut ut1 = (ut)super.o[y];
        enumeration = ut1.s();
        if(i == 0) goto _L4; else goto _L3
_L3:
        String s = (String)enumeration.nextElement();
        mt mt1 = fh.a(s);
        if(mt1 != null)
            hashset1.add(mt1);
_L4:
        if(enumeration.hasMoreElements()) goto _L3; else goto _L2
_L2:
    }

    public void b(HashSet hashset)
    {
        if(hashset.add(this) && x != -1)
            ((rt)super.o[x]).b(hashset);
    }

    void b(Vector vector)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).b(vector);
    }

    void a(hr hr, sy sy, it it, ly ly)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).a(hr, sy, this, it, ly);
    }

    public void a(HashMap hashmap)
    {
        if(x != -1)
            ((rt)super.o[x]).a(hashmap);
    }

    void a(sy sy, sy sy1, sy sy2, ux ux)
    {
        if(x != -1)
            ((rt)super.o[x]).a(sy, sy1, sy2, ux);
    }

    void a(Vector vector, yg yg)
        throws tb
    {
label0:
        {
            if(x != -1)
            {
                ((rt)super.o[x]).a(vector, yg);
                if(kt.i == 0)
                    break label0;
            }
            throw new tb(z[0]);
        }
    }

    void a(Hashtable hashtable, gd gd)
    {
        if(x != -1)
            ((rt)super.o[x]).a(hashtable, gd);
    }

    void a(HashSet hashset, HashSet hashset1, HashSet hashset2)
    {
        int i;
        int j;
        j = kt.i;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(super.o[i] instanceof rt)
        {
            ((rt)super.o[i]).a(hashset, hashset1, hashset2);
            if(j == 0)
                continue;
        }
        if(super.o[i] instanceof ut)
        {
            ut ut1 = (ut)super.o[i];
            ut1.b(hashset1);
            if(j == 0)
                continue;
        }
        if(super.o[i] instanceof j5)
            ((j5)super.o[i]).a(hashset2);
        i++;
_L2:
        if(i >= super.o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    boolean ib()
    {
        if(x != -1)
            return ((rt)super.o[x]).H();
        else
            return false;
    }

    int a(dn dn, dn dn1, wu wu, wu wu1, lm lm, qy qy1, um um, 
            wg wg, int i, int j)
        throws tb, sb
    {
        if(x != -1)
            return ((rt)super.o[x]).a(dn, dn1, wu, wu1, lm, qy1, um, wg, i, j);
        else
            return 0;
    }

    void a(ArrayList arraylist, int i, int j)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).a(arraylist, i, j);
    }

    public void a(int i, fy fy1, Hashtable hashtable)
    {
        ArrayList arraylist;
        int j;
        int k;
        k = kt.i;
        String s = j();
        dp dp1 = O();
        if(i != 1 && (i != 2 || !fy1.a(s, dp1) || fy1.b(s, dp1).equals(dp1)))
            break MISSING_BLOCK_LABEL_230;
        arraylist = new ArrayList(super.o.length);
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        if((super.o[j] instanceof yt) || (super.o[j] instanceof qt))
        {
            super.o[j].a(hashtable);
            if(k == 0)
                continue; /* Loop/switch isn't completed */
        }
        arraylist.add(super.o[j]);
        j++;
_L2:
        if(j < super.o.length) goto _L1; else goto _L3
_L3:
        if(arraylist.size() < super.o.length)
        {
            pt apt[] = new pt[arraylist.size()];
            super.o = (pt[])arraylist.toArray(apt);
            super.n = super.o.length;
            f();
        }
        if(b())
        {
            e(false);
            if(F())
                d(false);
        }
        if(d())
            f(false);
    }

    void c(Hashtable hashtable)
    {
        int i = super.n;
        super.c(hashtable);
        if(i != super.n)
            f();
    }

    void e(Hashtable hashtable)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).b(hashtable);
    }

    void f(Hashtable hashtable)
        throws tb
    {
        if(x != -1)
            ((rt)super.o[x]).c(hashtable);
    }

    void a(dd dd, re re1, mp mp1, ep ep, hp hp1, Hashtable hashtable, qy qy1, 
            fh fh1, String s, boolean flag, int i, Hashtable hashtable1, Hashtable hashtable2, Hashtable hashtable3, 
            boolean flag1, Hashtable hashtable4)
    {
        String s1;
        dp dp1;
        int j;
label0:
        {
            boolean flag2;
label1:
            {
                mt mt1;
                ou ou1;
                Object obj;
label2:
                {
                    j = kt.i;
                    if(U() || T())
                        return;
                    s1 = null;
                    mt1 = fh1.c();
                    dp1 = O();
                    if(dd.a(this))
                        break label0;
                    flag2 = false;
                    if(re1 == null || !re1.d(s, dp1))
                        break label1;
                    flag2 = true;
                    s1 = re1.b(s, dp1);
                    if(s1 == null)
                        break label1;
                    if(flag1)
                    {
                        obj = new dp(s1, q());
                        ou1 = (ou)hashtable.get(obj);
                        if(j == 0)
                            break label2;
                    }
                    obj = new n5(s1, q());
                    ou1 = (ou)hashtable2.get(obj);
                }
                if(ou1 != null)
                {
                    mt mt2 = mt1.a(ou1);
                    if(mt2 != null)
                    {
                        flag2 = false;
                        String s2 = mp1.a(ou1.j(), ((m5) (obj)));
                        re1.e(j(), dp1);
                        String s3 = lt.a((String)px.a(mt1.j(), hashtable4));
                        String s4 = lt.a((String)px.a(mt2.j(), hashtable4));
                        String s5 = lt.a((String)px.a(ou1.j(), hashtable4));
                        re1.x(z[15] + d(false) + z[14] + s3 + z[13] + s1 + z[11] + s5 + "." + s2 + z[10] + s4 + "." + s1 + "'");
                    }
                }
            }
            if(flag2)
                break label0;
            if(i != 1 && (super.s.startsWith(z[9]) && F() || super.s.startsWith(z[12])) && oy.a(super.s.substring(z[9].length())))
            {
                hashtable1.put(O(), this);
                hashtable3.put(b(), this);
                if(j == 0)
                    break label0;
            }
            if(!D())
            {
                if(x() || !A())
                {
                    s1 = hp1.b(fh1, s, dp1, hashtable, flag, hashtable1, hashtable2, hashtable3, flag1);
                    if(j == 0)
                        break label0;
                }
                s1 = hp1.a(fh1, s, dp1, hashtable, hashtable1, hashtable2, hashtable3, flag1);
                if(j == 0)
                    break label0;
            }
            s1 = hp1.a(fh1, s, dp1, hashtable, qy1, flag, hashtable1, hashtable2, hashtable3, flag1);
        }
label3:
        {
            if(s1 != null)
            {
                dp dp2 = mp1.a(s, dp1, s1);
                hashtable.put(dp2, this);
                hashtable1.put(dp2, this);
                hashtable2.put(dp2.a(), this);
                hashtable3.put(dp2.a(), this);
                b(s1);
                if(j == 0)
                    break label3;
            }
            hashtable.put(dp1, this);
            hashtable1.put(dp1, this);
            hashtable2.put(dp1.a(), this);
            hashtable3.put(dp1.a(), this);
        }
    }

    void f()
    {
        int i;
        int j;
        j = kt.i;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        if(super.o[i] instanceof rt)
        {
            x = i;
            if(j == 0)
                continue;
        }
        if(super.o[i] instanceof ut)
            y = i;
        i++;
_L2:
        if(i >= super.o.length)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    protected void a(String s)
    {
        super.a(s);
        w = is.b(super.u);
    }

    boolean a(lu lu)
    {
        if(x != -1)
            return ((rt)super.o[x]).a(lu);
        else
            return false;
    }

    public int d(int i)
    {
        int j;
        Vector vector;
        int k;
        int l;
        int i1;
        i1 = kt.i;
        j = 0;
        vector = is.b(super.u);
        k = vector.size();
        l = 0;
        if(i1 == 0) goto _L2; else goto _L1
_L1:
        if(j == i)
            return l;
        String s = (String)vector.get(l);
        if(s.equals("D") || s.equals("J"))
        {
            j += 2;
            if(i1 == 0)
                continue;
        }
        j++;
        l++;
_L2:
        if(l >= k)
            return -1;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public final void a(pt pt1, Hashtable hashtable, boolean flag, PrintWriter printwriter, PrintWriter printwriter1)
        throws tb
    {
        if(pt1 instanceof rt)
            ((rt)pt1).a(hashtable, flag, printwriter, printwriter1);
    }

    public void a(gs gs, Object obj, Object obj1, Object obj2)
    {
        if((obj instanceof sx) && ((sx)obj).b() == 0 && (obj1 instanceof mt))
        {
            String s = ((mt)obj1).o();
            b(s);
        }
    }

    static int c(String s)
    {
        if(s.equals("F"))
            return 2;
        if(s.equals("D"))
            return 2;
        return !s.equals("J") ? 1 : 2;
    }

        private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x31;
                    break;
                case 1:
                    key = 100;
                    break;
                case 2:
                    key = 20;
                    break;
                case 3:
                    key = 20;
                    break;
                default:
                    key = 86;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[20];
        as[0] = "\177\0134W9U\0014u\"E\026}v#E\001440^\021zpx";
        as[1] = "E\ff{!BD";
        as[2] = "\035D";
        as[3] = "\021D4";
        as[4] = "X\n`4:^\007ux";
        as[5] = "\021D44v\021";
        as[6] = "\021D4i";
        as[7] = "x\nbu:X\0004Y3E\f{pvu\001gw$X\024`{$";
        as[8] = "\021^4";
        as[9] = "P\007wq%B@";
        as[10] = "\026Dud&T\005f47BD3";
        as[11] = "\026Dvq5P\021gqvB\035yv9]\rw4$T\002qf3_\007qgvE\0134y3E\f{pv\026";
        as[12] = "P\007wq%BO";
        as[13] = "\026Dw{#]\0004z9EDvqvC\001zu;T\0004`9\021C";
        as[14] = "\026D}zvR\bug%\021C";
        as[15] = "|\001`|9UD3";
        as[16] = "\030D";
        as[17] = "]\013wu:";
        as[18] = "\r\007x}8X\020*";
        as[19] = "\r\rz}\"\017";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}